Determining a community rating for a user using feedback ratings of related users in an electronic environment

ABSTRACT

Community ratings are determined for users of an electronic marketplace. In a typical configuration, the community rating of an individual reflect the individual&#39;s reputation in the electronic community (e.g. feedback rating) as well as the reputations of the users the individual sponsors and the reputations of each user they sponsor, and so on. Various methodologies are provided for determining a community rating, such as aggregating feedback ratings, or weighting or thresholding these feedback ratings.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. Non-Provisional patent application Ser. No. 09/503,960, filed Feb. 14, 2000, which application is incorporated by reference herein in its entirety.

COPYRIGHT NOTICE

Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to the field of online commerce. More particularly, the invention relates to rating systems and user feedback mechanisms for use in electronic environments, e.g., online trading environment, online shopping site, online auctioning site, online person-to-person trading site, online gaming site or other electronic environment were user feedback is provided, including those within an Internet marketplace community.

2. Description of the Related Art

The Internet and the World Wide Web (“Web”) have changed the landscape of information delivery and affected numerous aspects of life, including commerce and entertainment. One area that has benefited from this technological development is the ability of individuals to buy and sell products within an Internet marketplace community.

Many companies operate auctions and other selling mechanisms on servers connected to the users over one or more networks, typically including the Internet. The users buying and/or selling items over these networks loosely comprise a market place community within an electronic environment. A distinction between non-electronic selling devices such as traditional garage sales and current electronic selling mechanisms is the component of anonymity inherent in electronic environment, which is not always conducive to forming a trusting environment in which two or more users wish to form a buyer-seller relationship.

To overcome some reservations about the anonymity component within the electronic marketplace community and to provide incentives for participating in transactions within the electronic marketplaces. Internet marketplaces, such as auction sites run by eBay, Inc. of San Jose, Calif. provide feedback ratings generated from feedback between users regarding trading transactions. A user's feedback rating is an indication of the user's reputation within the electronic community, and provides some indication of the trustworthiness and responsiveness of the user. A representation of a user's feedback rating is typically displayed along with a buying or selling transaction request by the user which provides the other party to the transaction an indication of the trustworthiness or past participation level of the user.

One implementation of feedback rating is illustrated in FIG. 1 in which feedback ratings 131-137 have been respectively established for marketplace users 121-127 based on votes 110 received from other users. These votes could reflect a positive recommendation and add one or more points to a user's feedback rate; or could reflect a negative experience and subtract one or more points from a users feedback rating.

Feedback ratings provide a good mechanism for indicating a level of indicating a user's trustworthiness or past participation within an electronic commerce forum. Users desire to increase their feedback ratings because they are one indication of a user's reputation in the electronic community and some marketplace providers give awards or identify the users whose feedback ratings have reached a certain value, or some number of users with the highest feedback ratings.

However, feedback ratings do not provide a direct incentive for expanding the electronic marketplace. Needed is a new mechanism to provide an incentive for bringing new users into the electronic community.

SUMMARY OF THE INVENTION

A method and apparatus are described for determining a community rating for a particular user within an electronic community. According to one embodiment a characteristic value is maintained for each user within the electronic community. The value may be representative of any characteristic of the user that is valuable or useful within the electronic community. For example, in an electronic trading community through which goods and services are bought and sold, it is advantageous for a user to have a measure of the reputation of other users with whom the user is conducting a buying or a selling transaction. A set of relationships between the various members of the electronic community is also maintained as applicable. For example, the set of relationships might contain information about new users that were brought into the community by a particular user. A community rating is derived for a particular user of the electronic community based on a characteristic value associated with the particular user and the characteristic values associated with users related to the particular user.

Advantages and other features of the invention will be apparent to one skilled in the art from the accompanying drawings and from the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The appended claims set forth the features of the invention with particularity. The invention, together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:

FIG. 1 is a block diagram of a prior art approach for determining feedback ratings for users in the Internet community;

FIG. 2 is a block diagram of an exemplary embodiment of a methodology for determining community feedback ratings for users in accordance with the invention;

FIG. 3 is a block diagram of an exemplary operating environment in which the invention may be practiced;

FIG. 4 is a block diagram of an exemplary operating architecture in which the invention may be practiced;

FIG. 5A is a block diagram of an exemplary data structure for maintaining a feedback rating for a user and the relationship of the user to other users within the electronic community;

FIG. 5B is a block diagram of an exemplary configuration of populated data structures corresponding to the exemplary configuration illustrated in FIG. 2; and

FIGS. 6A-B are high-level flow diagrams for determining a community feedback rating for a user in an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

A rating system is described for use in an online environment. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.

As will be described in greater detail below, the present invention includes features for enhancing the online trading experience for both buyers and sellers. For example, the improved rating system may be structured to encourage existing members to refer new members thereby increasing community registrations and the pool of potential trading partners. According to one feature of the present invention, when a user attaches feedback to another user, the feedback contributes to two different ratings, a Feedback Rating and a Community Rating. A user's Community Rating is based upon the user's Feedback Rating and the Feedback Ratings of other users associated with that user. For example, a user's Community Rating may be represented by the sum of the user's Feedback Rating, the number of users the user has referred to the online trading community, and the Community Ratings of all users referred. Advantageously, in this manner, the relative value of a user's contributions to the online community can be measured in terms of the number of referrals and trustworthiness of the referred users.

In the preferred embodiment, the steps of the present invention are embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor, which is programmed with the instructions to perform the steps of the present invention. Alternatively, the steps of the present invention might be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.

The present invention may be provided as a machine-readable medium computer having stored thereon a computer program comprising instructions which may be used to program a computer (or other electronic devices) to perform a process according to the present invention. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions. Moreover, the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).

Importantly, while embodiments of the present invention will be described with respect to an online person-to-person trading environment, the method and apparatus described herein are equally relevant to other electronic environments in which ratings or values are assigned to users. For example, it is envisioned that an online gaming forum might want to provide an aggregate community rating based on the skill level of a particular gamer and fellow gamers with whom he/she is associated.

For purposes of the specification, the term “characteristic value” shall be an indication, whether alphabetic, graphic, symbolic, or otherwise, of a characteristic of a user within a community or group of related communities. For example, as discussed herein, a “feedback rating,” which is a characteristic value based on feedback received from other users about a user relative to transactions conducted by the user, is one type of characteristic value of a user. Other characteristic values could include, but are not limited to, measures of the user's honesty, the quality of products or services provided by the user, or the skill or expertise of the user relative to a purpose of the community. The term “community rating” shall include any indication, whether numeric, graphic or otherwise, of a characteristic of a user's relationships within a community or group of related communities. For example, a user may have a community rating based on the aggregate of all the feedback ratings of other users be referred to the community. The characteristic values or community ratings of users may be indicated in any number of ways such as a thumbs-up symbol to indicate a favorable rating or a number indicating a relative measure when compared to other users or a defined scale.

Community Rating Overview

FIG. 2 and its discussion herein are intended to provide a description of a general approach to determining a community feedback rating for a user, with scope of the invention including many variations of this general approach. The invention provides different methodologies for manipulating the individual feedback ratings and other data elements and the relationships among the various users to derive a community rating for an individual user. Typically, a community rating tier the individual user is, at least partially, determined by the number of other users the individual user brings into the electronic community, and in some instances, the reputation or feedback ratings of the other users.

User relationships are represented as an nary tree, where any user brought into the electronic community by sponsoring user is a child of the sponsoring user, and children of a same sponsoring user are siblings. An electronic community typically contains numerous trees of users, with the root of each tree representing a user who did not identify a sponsoring user. Embodiments of the invention allow a user to specify more than one sponsor, and these embodiments determine the community rating accordingly.

FIG. 2 illustrates one potential grouping of users 121-127 of FIG. 1, and further identifies an exemplary set of relationships 241-252 among these users 121-127 in the electronic community. For example, this configuration represents that user astoyroid 124 sponsored users red-deer 125 and dygsp 126, red-deer 125 sponsored carter 123, carter sponsored p2p 122 and coin-nut 121, and dygsp 126 sponsored antyques 127. The exemplary set of feedback ratings 131-137 for users 121-127 are further illustrated.

The various exemplary community ratings 231-237 respectively for users 121-127 are presented in FIG. 2. As previously mentioned, the invention provides for various methodologies to determine a community rating for an individual user by manipulating such factors as the feedback ratings, other data elements, and/or the relationships among the users of the electronic community. The methodology represented by the community ratings 231-237 is to aggregate the feedback rating 131-137 for the individual user with all the community ratings 231-237 of users brought into the electronic community by the individual user. In other words, by representing the relationships among users as a tree structure the community rating 131-137 for a user is the aggregate of the feedback ratings of the user and all its descendents. In this manner, the community rating 232 of p2p 122 is its feedback rating 132; the community rating 233 for cart 123 is the sum of the feedback ratings 131-33 for users coin-nut 121, p2p 122 and carter 123; and the community rating 234 of astroyriod 124 is the sum of feedback ratings 131-137.

Additional variations of this methodology include adding one or more points to the community rating for each child node, weighting the effect a descendent user has on a community rating of a patriarch based on how many degrees removed the user is from the patriarch, or using some variation of the feedback rating (e.g., if the feedback rating is negative, use zero; use a weighted or threshold value instead of the actual feedback rating, adding a fixed amount such as one or five points to a community rating for each sponsored user rather than using the actual feedback ratings). Additionally, multiple community ratings for an individual user can be determined and presented using a number of various methodologies applied to determine the community rating and the different characteristic values that are used to derive the community rating.

Computing Environment Overview

FIG. 3 and its discussion herein are intended to provide a description of an exemplary computing environment in which the invention can be practiced. The invention, however, is not limited to a single computing environment. Moreover, the architecture and functionality of the invention as taught herein and would be understood by one skilled in the art is extensible to an unlimited number of computing environments and embodiments in keeping with the scope and spirit of the invention.

Illustrated are viewing computer 355, communications network 345, and server computer 305. In an embodiment of the invention, sellers and buyers use a viewing computer (or a plurality of computers) 355, and server computer (or a plurality of computers) 305 receives the feedback input from sellers and buyers and determines the community ratings for the individual users.

Viewing computer 355 typically comprises a standard computer platform or a specialized computer platform, including, but not limited to a desktop computer, a laptop computer, personal data assistant, and a handheld computer. For purposes of simplicity, only one viewing computer 355 is shown; however, the number of viewing computers supported by the invention is unbounded, and can be especially large with network 345 comprises the Internet or other wide-area networking technology. In an embodiment, viewing computer 355 comprises a processor 360, memory 365, storage devices 370, a network interface 349, and a display 380, which are electrically coupled via bus 362. Network interface 349 is connected to a communications network 345 (e.g., one or more networks, including, but not limited to the Internet, private or public telephone, cellular, wireless, satellite, cable, local area, metropolitan area and/or wide area networks) over connection 348. Memory 365 is one type of computer-readable medium, and typically comprises random access memory (RAM), read only memory (ROM), integrated circuits, and/or other memory components. Memory 365 typically stores computer-executable instructions to be executed by processor 360 and/or data which is manipulated by processor 360 for implementing functionality in accordance with the invention. Storage devices 370 are another type of computer-readable medium, and typically comprise disk drives, diskettes, networked services, tape drives, and other storage devices. Storage devices 370 typically store computer-executable instructions to be executed by processor 360 and/or data that is manipulated by processor 360 for implementing functionality in accordance with the invention. Additionally, viewing computer 355, communications network 345, and server computer 305 could be implemented in a single computer platform, with the communications network 345 being an internal information sharing mechanism such as message passing or shared memory.

Server computer 305 typically comprises one or more standard computer platforms or a specialized computer platforms (e.g., a computer platform optimized for retrieving information and sending information to clients), including, but not limited to one or more desktop computers, servers, mainframes, laptop computers, handheld computers, and personal data assistants. For simplicity, only one server computer 305 is depicted. However, the number of server computers contemplated by the invention is unbounded. When the invention is used in conjunction with a wide geographic area such as over the Internet, typically numerous viewing computers 355 and numerous serving computers 305 are used. When a plurality of serving computers 305 are used, they can be collocated, or distributed across the communications network 345. Typically, when the plurality of viewing computers are distributed across the communications network 345.

In an embodiment, server computer 305 comprises a processor 310, memory 315, storage devices 320, and a network interface 341, which are electrically coupled via bus 312. Network interface 341 is connected to the communications network 345 (e.g., Internet, email network, private or public network) over a public or private telephone, cellular, wireless, satellite, local area and/or wide area network connection 342. Memory 315 is one type of computer-readable medium, and typically comprises random access memory (RAM), read only memory (ROM), integrated circuits, and/or other memory components. Memory 315 typically stores computer-executable instructions to be executed by processor 310 and/or data, which are manipulated by processor 310 for implementing the server functionality. Storage devices 320 are another type of computer-readable medium, and typically comprise disk drives, diskettes, networked services, tape drives, and other storage devices. Storage devices 320 typically store computer-executable instructions to be executed by processor 310 and/or data which is manipulated by processor.

Architecture Overview

Turning now to FIG. 4, illustrated is an embodiment 400 of the invention, further illustrating an embodiment of elements 460-490 within viewing computer 355, and an embodiment of elements 410-440 within server computer 305. Viewing computer 355 typically comprises a network communication component or process 490 which interfaces with communications network 345 and enables communication with server computer 305; one or more data structures 470 for temporarily and/or permanently storing information; and an information viewer (e.g., browser) 460 for providing a user interface to a user of viewing computer 355. Server computer 305 typically comprises a network communication component or process 440 which interfaces with communications network 345 and enables communication with one or more viewing computers 305; one or more data structures 430 for temporarily and/or permanently storing information; and an information server 410 tier providing information to viewing computer 305; and a community rater component or process 420 tier determining the community ratings for various users.

In an embodiment, the community rater 420 is comprised of both a valuator 421 and an aggregator 422. The aggregator 422 performs a recursive routine, which aggregates the feedback ratings or characteristic values of all users in lineal succession to a patriarchal user for which a community rating is being determined. The valuator 421 combines (e.g. adds, determines a weighted average, etc.) the patriarchal user's characteristic value with the aggregate value determined by the aggregator 422 to determine the patriarchal users community rating. Other embodiments of the invention are envisioned that use another methods for determining the community rating that do not specifically utilize aggregator and valuator components or routines.

Exemplary Data Structure

FIG. 5A illustrates one of numerous data structures 500 which can be used in embodiments of the present invention for storing information about users in the electronic community and their relationships. A data structure 500 is typically used for each user and typically comprises an identifier 500A (e.g., a name of a user), a feedback rating 500B, and two relationship indicators; a closest sibling pointer 500C, and first child pointer 500D. Numerous other data structures and formats could be used, such as incorporating additional pointers or distributing the information contained in data structure 500 among several data structures and possibly representing this information in other representations (e.g., lists, arrays etc.), instead of a linked list data element.

FIG. 5B, illustrates a block diagram showing a linked list data structure configuration for the group of users previously introduced in FIG. 2 and using the data structure 500 illustrated in FIG. 5A. Shown are seven users represented by data structures 521-527. List or hash table 510 provides direct access to any single user data structure 521-527. The interrelatedness of the data structures 521-527 is shown with arrows representing the closest sibling and first child pointers as they might be contained in each of the data structures to implement the tree structure illustrated in FIG. 2.

Community Rating Determination

FIGS. 6A & 6B illustrate a high-level flow diagrams describing the operation for determining a community rating for an identified user within the linked data structure embodiment illustrated in FIG. 5B using the valuator 421 and aggregator 422 introduced supra. The invention provides for variations and different flow diagrams and methodologies to be used in various embodiments to conform to design decisions in implementing the invention. Moreover, the invention could be embodied in any combination of software, hardware, firmware, etc. Furthermore, the invention provides for programming the functionality required for practicing the invention using any programming technology, paradigm, and/or language that exist today or may be developed in the future, including, but not limited to parallel programming, object-oriented technology, distributed processing, multi-processing, Java, C, C++, and assembly language.

FIG. 6A is a high level flow diagram illustrating a routine that may be performed by a valuator 421 to determine a community rating for the identified user. The routine begins at step 600, and proceeds to step 605 where the community rating for the identified user is set to the identified user's feedback rating. Next, step 610 is performed to determine whether the identified user has any children. If the identified user does not, the identified user's community rating is identical to its feedback rating and the feedback rating is returned as the identified user's community rating in step 620. If the identified user has at least one child, step 615 is invoked and a recursive aggregator routine is performed as illustrated in FIG. 6 b and discussed infra. After an aggregate value is returned from the recursive aggregator routine representing the first child's community rating, the aggregate value is added to the identified user's feedback rating and the value representing the identified user's community rating is returned in step 620.

FIG. 6B is a high level flow diagram illustrating a recursive routine that may be performed by an aggregator 422 to determine an aggregate value of all the feedback values of all lineal descendents of the identified user. The routine begins at step 650, and proceeds to step 655 where the community rating for the first child of the identified user is set to the first child's feedback rating. Next, in steps 660 & 665, the feedback values for all lineal descendents of the first child are aggregated and the value returned is added to the first child's community rating. If the identified user had at least two children, the sibling field in the first child's related data structure will have a pointer to the second child. Accordingly, for each n+1th child of the identified user, the nth child will have a pointer in the sibling field to that child (where n is an integer of at least 1). In steps 670 & 675 an aggregate community value for all children other than the first child of the identified user (who are all siblings of the first child) is determined and this value is added to the community rating of the first child. Finally, the aggregate value of the community rating for all the children is returned to the valuator in step 680 to be added with the feedback rating of the identified user to determine the identified user's community rating as discussed supra.

In view of the many possible embodiments to which the principles of our invention may be applied, it will be appreciated that the embodiments and aspects thereof described herein with respect to the drawings/figures are only illustrative and should trot be taken as limiting the scope of the invention. To the contrary, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof. For instance, there are many recursive routines well known to those of ordinary skill in the art that could be used to traverse a relationship tree such as the tree shown in FIG. 2. The methodology presented supra in FIGS. 5A, 5B, 6A & 6B is therefore merely representative. 

What is claimed is:
 1. A computer-implemented method, comprising: associating, by a processor, one or more individual feedback ratings with a plurality of users in an electronic community, the plurality of users including a particular user, one or more first descendants referred by the particular user to the electronic community, and one or more second descendants referred by the one or more first descendants to the electronic community, and wherein the one or more individual feedback ratings associated with each of the plurality of users are established based on votes from other users of the plurality of users of the electronic community; deriving, by the processor, a community rating associated with the particular user by aggregating the individual feedback ratings respectively associated with the particular user, the one or more first descendants, and the one or more second descendants, wherein deriving includes weighting the feedback ratings of the one or more first descendants and one or more second descendants based on a degree of separation from the particular user; and storing the community rating associated with the particular user in a storage device, wherein a relationship tree representing relationships among the plurality of users of the electronic community is maintained, wherein the relationships include sponsorship relationships among the plurality of users, the one or more first descendants, and the one or more second descendants, wherein the sponsorship relationships are stored in a data structure for the particular user, wherein the data structure contains a pointer to at least one of the plurality of users, and wherein deriving is performed utilizing the pointer in the data structure.
 2. The computer-implemented method of claim 1, wherein the one or more first descendants referred by the particular user are children of the particular user and siblings to each other, and wherein the one or more second descendants referred by the one or more first descendants are children of the one or more first descendants and siblings to each other.
 3. The computer-implemented method of claim 1, wherein the electronic community comprises an electronic trading community to trade merchandise over a network, and wherein the trading of the merchandise comprises at least one of buying or selling of goods or services.
 4. The computer-implemented method of claim 3, wherein the network comprises the Internet.
 5. The computer-implemented method of claim 1, wherein the one or more individual feedback ratings associated with the particular user comprise feedback values concerning the particular user received from other users of the plurality of users in the electronic community.
 6. The method of claim 5, wherein the other users of the plurality of users comprise users that have previously traded with the particular user.
 7. The method of claim 2, wherein the relationship tree includes one or more n-ary trees.
 8. A non-transitory machine-readable medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to: associate, by a processor, one or more individual feedback ratings with a plurality of users including a particular user in an electronic community, one or more first descendants referred by the particular user to the electronic community, and one or more second descendants referred by the one or more first descendants to the electronic community, and wherein the one or more individual feedback ratings associated with each of the plurality of users are established based on votes from other users of the plurality of users of the electronic community; derive, by the processor, a community rating associated with the particular user by aggregating the individual feedback ratings respectively associated with the particular user, the one or more first descendants, and the one or more second descendants, wherein deriving includes weighting the individual feedback ratings of the one or more first descendants and one or more second descendants based on a degree of separation from the particular user; and store the community rating associated with the particular user in a storage device, wherein a relationship tree representing relationships between each user of the plurality of users is maintained, wherein the relationship tree maintains sponsorship relationships between the particular user and any other users of the plurality of users that were sponsored by the particular user, wherein the sponsorship relationships is stored in a data structure for the particular user, wherein the data structure contains a pointer to at least one of the plurality of users, and wherein the pointer in the data structure is utilized to derive the community rating associated with the particular user.
 9. The non-transitory machine-readable medium of claim 8, wherein the community rating associated with the particular user represents a reputation value associated with the particular user.
 10. The non-transitory machine-readable medium of claim 8, wherein the sponsorship relationships of the plurality of users are represented as the relationship tree including one or more n-ary trees.
 11. The non-transitory machine-readable medium of claim 8, wherein the deriving of the community rating for the particular user is performed utilizing a recursive routine.
 12. A system comprising: a first storage medium; and a first computer coupled with the first storage medium, and configured to: associate one or more individual feedback ratings with a plurality of users of an online trading community, wherein the plurality of users include a particular user, one or more first descendants referred by the particular user to the online trading community, and one or more second descendants referred by the one or more first descendants to the online trading community, and wherein the one or more individual feedback ratings associated with each of the plurality of users are established based on votes from other users of the plurality of users of the online trading community; and derive a community rating corresponding to the particular user by aggregating the individual feedback rating associated with the particular user, and the individual feedback ratings associated with the one or more first descendants referred by the particular user to the online trading community and the one or more second descendants referred by the one or more first descendants to the online trading community, wherein deriving includes weighting the individual feedback ratings associated with the one or more first descendants and the one or more second descendants based on a degree of separation from the particular user, wherein the first computer is configured to maintain a relationship tree representing relationships among the plurality of users of the online trading community, wherein the relationships include sponsorship relationships among the plurality of users, wherein the first computer is configured to store the sponsorship relationships among the plurality of users in a data structure, and wherein the data structure contains a pointer to at least one of the plurality of users, and wherein deriving is performed utilizing the pointer in the data structure.
 13. The system of claim 12, further comprising: a second storage medium; and a second computer coupled with the second storage medium and the first computer via a network interface, wherein the second computer is configured to receive feedback concerning the particular user from the other users of the plurality of users, to generate a feedback value corresponding to the particular user based on the feedback, and to transmit the feedback value to the first computer.
 14. The system of claim 13, wherein the first computer comprises a server computer and the second computer comprises a client computer.
 15. The system of claim 13, wherein the second computer is accessed by the plurality of users to trade merchandise, and wherein the trading of the merchandise comprises buying or selling of goods or services.
 16. The system of claim 13, wherein the network interface is to couple the first computer with the second computer over a network having the Internet. 